1. Technical Field
This invention relates to a process of economically storing batch and program information files for fast access and execution.
2. Description of Prior Art
An user communicates with a computer in one of two modes:
1. Interactive mode: The user keys in the command or a program name and the computer executes it after it is keyed in. PA1 2. Batch mode: The user enters a series of command or program names in a file and later executes all the commands and programs in that file by keying in just the name of the file. Said files are called batch, script, execs, etc depending on the computer and/or the operating system and have an associated command language of their own. PA1 1. Eliminate the wastage of storage space inherent in the use of batch files. PA1 2. Provide a menu interface for batch files without the wasteful use of PIFs. PA1 3. Improve batch program performance by automatically executing said program from RAM disks, if the user so desires and the computer is appropriately configured.
On personal computers with MS-DOS disk operating system, commonly referred to as DOS, said files are called batch files and are identified by the file extension BAT. MS-DOS is a registered trade mark of Microsoft Corporation.
On the mini and mainframe computers, the term batch file is generally used for files submitted to a dedicated processor, for later execution at some scheduled time, without user intervention. However, the distinction lies in the mode of executing the batch files, not in the files themselves nor in the mode of communication.
Thus, on the IBM main frames running under VM/CMS operating system the executable files, passed to the batch machine or executed directly by the user by keying in the file name, have the file type of exec and use the same command language. The terms file type and file extension are equivalent terms. Therefore, the term batch file will be used to identify executable files used in the batch mode, without implying any particular mode of execution.
Program information files, called PIF hereafter, contain information about single applications, such as application name, location, etc. This information is used by another program, the calling program, to execute the application. PIFs are sort of single application non-executable batch files.
FIG. 1 illustrates the relationship between a single application batch file and a PIF on DOS. The first command in the said batch file turns off the display of batch commands. The second command changes the disk, the third command changes the path to the directory where the program BASICA.COM resides, and the third command executes the said program. The corresponding PIF provides the location and name of the application to a calling program, which does the actual execution.
PIFs can and have been used to provide additional information beyond that indicated above, such as application's memory requirements, etc and have found most use in creating menu driven multi tasking environments such as IBM's TopView. IBM is a registered trade mark of International Business Machines Corp.
It can be intuitively appreciated that both batch files and PIFs are tremendously powerful tools. But there are disadvantages to both.
Disadvantages of batch files:
1. They waste computer storage space. The batch files tend to be small, usually 100 characters long. Depending on the storage scheme, implemented by the particular computer, they may use a lot more space. Thus, on the IBM PC/XT, the minimum file allocation unit is 4096 characters for a hard disk and 1024 characters for a diskette.
The problem has been acknowledged for the personal computers (Somerson 1988 P. C. Magazine DOS Power Tools, pg. 107).
Hewlett-Packard's HP 3000, a minicomputer, allows one or more UDCs-user defined commands- to reside in one file. The UDCs can process only system commands. They cannot handle application programs. (MPE V Commands Reference Manual 1986. pg. 3-9). Hewlett-Packard is a registered trade mark of Hewlett Packard Company.
2. They need menu drivers. Because batch files perform multiple tasks, it is not often possible to assign them names that reflect the tasks performed. Besides, users prefer short names, two or three digits, to reduce the number of key strokes that need to be typed or that may be mistyped. This makes some kind of a calling program or menu driver mandatory in a system with a large number of batch files.
System wide menu drivers have not found much favor with the general user.
First, they consume memory at the expense of the application. Second, the various implementations of menu driven systems have created problems of their own. Third there is the sheer tedium of setting up menus, after the user has installed his application.
One kind of menu driver, uses PIF files, one for each program serviced. PIFs are also small files and when used to service a batch file double the amount of storage space that is wasted. PF keys, Program Function keys, have been used to set up menus. Such menus are limited to the number of PF keys supported by the operating system, which may be as low as 12. Another disadvantage is that the application programs serviced by the menu may be pre-empted from using the PF keys.
Another approach is to display a list of files within any given directory, point to any desired file and execute it. This approach is fine with programs that have achieved name recognition but otherwise degenerates into a crap shoot.
HP 3000 indexes or catalogs the UDCs in a directory at each logon. The directory lists only the name of the UDC, which could be a single letter, and provides pointers for the operating system to locate the file where the said UDCs reside. A Help system can be called separately to display the entire text of an UDC.
3. They are slow in execution. The batch files are executed a line at a time. Disk access is one of the slowest tasks performed by a computer.
On the IBM PC and similar computers, it is possible to create a RAM or virtual disk in computer memory and execute the batch file from there. But this is a three step operation. First you copy the batch file to the RAM disk and then you execute it, and finally you delete it.
It is possible, however, to load often executed batch files into RAM at logon, and execute them as needed, without having to delete after each use. RAMs can be set up in expanded, non-executable memory and thus do not shrink the computer's executable memory.
Similarly, on IBM main frames, it is possible to load often used execs directly into main memory, at log on.
Another approach for machines running under DOS, is to use a batch processor to copy the batch file into memory, process application programs and commonly used commands within the processor and process the other commands with a secondary copy of DOS command processor. (U.S. Pat. No. 4,642,763 1987 Cummins 364/300). This approach has obvious demerits when processing batch files with several "uncommon" commands.
Program Information Files:
As already mentioned above, PIFs waste storage space and, as currently implemented, process only a single application.
In TopView, individual PIFs are copied and consolidated into a single large master file. An index to the said master file is generated separately which provides the menu interface.